Prioritization of messages within a message collection

ABSTRACT

In some embodiments, a computer implemented method of processing messages may include receiving priority information from at least one sponsor, the priority information to be used in determining a priority of one or more messages received from a plurality user devices, creating a message collection using a plurality of messages received from the plurality of user devices, and prioritizing at least one message in the message collection according to the received priority information.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims the benefit of priority to U.S. Ser. No. 15/416,846, filed Jan. 26, 2017, which is a continuation and claims the benefit of priority to U.S. Ser. No. 15/208,460, filed Jul. 12, 2016, which is a continuation of and claims the benefit of priority to U.S. Ser. No. 14/808,283, filed Jul. 24, 2015, which is a continuation of and claims the benefit of priority to U.S. Ser. No. 14/523,728, filed Oct. 24, 2014, which is related to commonly owned U.S. Ser. No. 14/304,855, filed Jun. 13, 2014. This invention is also related to commonly owned U.S. Ser. No. 14/529,064, filed Oct. 30, 2014, each of which is hereby incorporated by reference in its entirety.

FIELD OF THE INVENTION

This invention relates generally to processing electronic messages in a computer network.

BACKGROUND OF THE INVENTION

Mobile devices, such as smartphones, are used to generate messages. The messages may be text messages, photographs (with or without augmenting text) and videos. Users can share such messages with individuals in their social network. However, there is no mechanism for sharing messages with strangers that are participating in a common event.

SUMMARY OF THE INVENTION

In some embodiments, a computer implemented method of processing messages may include receiving priority information from at least one sponsor, the priority information to be used in determining a priority of one or more messages received from a plurality user devices, creating a message collection using a plurality of messages received from the plurality of user devices, and prioritizing at least one message in the message collection according to the received priority information.

BRIEF DESCRIPTION OF THE FIGURES

The invention is more fully appreciated in connection with the following detailed description taken in conjunction with the accompanying drawings, in which:

FIG. 1 illustrates a system configured in accordance with an embodiment of the invention.

FIG. 2 illustrates server side processing associated with an embodiment of the invention.

FIG. 3 illustrates client side processing associated with an embodiment of the invention.

FIGS. 4-8 illustrate graphical user interfaces that may be associated with embodiments of the invention.

FIG. 9 illustrates server side processing associated with an alternate embodiment of the invention.

Like reference numerals refer to corresponding parts throughout the several views of the drawings.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates a system 100 configured in accordance with an embodiment of the invention. The system 100 includes a set of client devices 102_1 through 102_N and at least one server 104 connected via network 106. The network 106 may be any combination of wired or wireless networks.

Each client device 102 has standard components, such as a central processing unit 110 and input/output devices 112 connected via a network 114. The input/output devices 112 may include a touch display, dedicated control buttons, physical connectors, speakers, and the like. A network interface circuit 116 is also connected to the bus 114 and provides connectivity to network 106. A memory 120 is also connected to the bus 114. The memory 120 stores a communication application 122. The communication application 122 includes instructions executed by CPU 110 to coordinate communications with server 104 and/or other client devices. The client device may be in the form of a tablet, smartphone, wearable technology, laptop computer or desktop computer.

The server 104 also includes standard components, such as a central processing unit 130, a bus 132, input/output devices 134 and a network interface circuit 136. A memory 140 is connected to the bus 132. The memory 140 stores a communication module 142. The communication module 142 includes instructions executed by the CPU 130 to coordinate communications with client devices 102. The memory 140 also stores an event gallery module 144. The event gallery module 144 includes instructions executed by the CPU 130 to store messages from participants in a live event. The messages form an event gallery, which may be supplied to a client device 102 in response to a request from a client device 102.

FIG. 2 illustrates operations associated with an embodiment of the event gallery module 144. The top of the figure illustrates a set of message senders, i.e., Sender_1 through Sender_N. Each message sender is associated with a client device 102. The communication application 122 is configured to accompany a message with geo-location information. Typically, the geo-location information will be collected from a GPS chip resident in the client device. However, other geo-location information may also be used, such as cellular network geo-location information, self-reported geo-location information and the like.

The event gallery module 144 includes an administrative interface that allows one to define an event. For example, the administrative interface may prompt an event planner for event name, event description, event date, event time and event location. The event location is specified in physical coordinates (e.g., GPS coordinates) that define a geo-location fence associated with the event.

As previously indicated, messages from senders include geo-location information. The server 104 receives such messages and geo-location data 200 from any number of senders. For each message, the geo-location data is compared to the geo-location fence. If the message was not sent from within the geo-location fence it is not from a permitted position and it is therefore discarded (202—No). If the message is from a permitted position (202—Yes), the message is posted to an event gallery 204.

The event gallery module 144 may include a curation interface that allows an event planner to optionally curate the event gallery 206. For example, the curation interface may allow the event planner to delete inappropriate or redundant messages. The final operation of FIG. 2 is to supply the event gallery in response to requests 208 from any number of users.

FIG. 3 illustrates processing associated with the communication application 122 resident on a client device 102. The communication application 122 sends a registration request 300. The registration request may be an explicit request to join or follow an event. Alternately, the registration request may be triggered by sending geo-location data to server 104. The event gallery module 144 determines whether the geo-location data corresponds to a geo-location fence associated with an event. Event gallery prompt information is received 302 in response to a request. The event gallery prompt information may be indicia of the event, such as a brand, a textual description and the like. The event gallery prompt may be accompanied by a message welcoming the user to the event. The message may have additional information and instructions regarding the event. The event gallery prompt information is added to a selectable destination list 304. The selectable destination list 304 includes individuals in a user's social network. In this case, the selectable destination list is augmented with indicia of an event.

If a user generates a message (306—Yes) the destination list is supplied 308. The destination list includes individuals in a user's social network and indicia of the event and/or event gallery. If the event gallery is selected (310), the user is added as a follower of the event 312. So, for example, in the case where the user received the event gallery prompt in response to simply communicating geo-location data, the user may formally follow the event by posting a message (shared story) to the event gallery. That is, the event gallery module 144 adds the user to a list of event followers in response to the user posting a message to the event gallery. Finally, messages are sent to recipients designated on the selectable destination list 314. These recipients are typically individuals in the user's social network.

FIG. 4 is an example of a message taken at an event. In this example, the message is a photograph, which may be augmented with text. FIG. 5 illustrates a selectable destination list 500. The selectable destination list 500 includes an entry for a live event 502 and entries 504 for individuals in a social network. Selecting the live event 502 from the selectable destination list 500 may result in a prompt as shown in FIG. 6. The prompt may explain terms associated with posting content to the event gallery. FIG. 7 illustrates an interface listing friends in a social network and one or more events that are being followed.

FIG. 8 is an example of an event gallery 800. The event gallery 800 includes individual posted messages 802. The messages maybe photographs, videos or text messages. The event gallery may be available for a specified transitory period. For example, the specified transitory period may be the duration of an event. Indicia of the event gallery may appear in a list of friends (e.g., destination list) for the duration of the event. In one embodiment, the event gallery has individual ephemeral messages shown in a sequence. For example, a first image is shown for five seconds, and then a second image is shown for three seconds, etc.

An event gallery may be open to all event participants. Alternately, an event gallery may be formed for a subset of participants selected from a destination list or some other list (e.g., a list of co-workers at an event). An embodiment of the invention maintains an ongoing event gallery (shared story) for a geo-location. For example, the shared story may extend over months. Alternately, the shared story may be renewed every twenty-four hour period at a specified geo-location.

FIG. 9 illustrates processing operations associated with an alternate embodiment of the invention. The first processing operation of this embodiment is to receive messages for an event gallery 900 from one or more users, intended for distribution to recipients as described above. For example, users may transmit messages via any number of web or mobile channels to communication module 142. Once again, the messages may be text messages, photographs (with or without augmenting text or graphics) and videos (with or without augmenting text or graphics). For example, events could include concerts, music festivals, awards ceremonies, live sporting events, etc. Similarly, examples of geo-locations contemplated include university campuses, schools, office space of a corporation, private residences, parks, etc. The messages may or may not be associated with a specific event or geo-location. As described above, the event gallery is a listing or sequence of messages available to a set of users. The set of users may be a group designated by a user or event sponsor, etc. In other embodiments, the set of users may be an entire social network, users located within a geolocation, members of a club or organization, etc.

While many messages received from users may be assigned to a position within the event gallery based on order of receipt or randomly, other messages (e.g., advertisements or sponsored messages) may be assigned a priority 904 based on other criteria, as described below. These messages may then be presented in the event gallery in accordance with their assigned priorities 906.

Priority may be based upon sponsored content. Thus, sponsors or advertisers may be able to insert messages within an event gallery for display to users registered with a particular event gallery. For example, a particular brand or product may pay for inclusion (or favorable presentation) of a message within the event gallery. The favorable presentation may stem from a weight assigned to the message, where the weight is a function of the amount of consideration supplied by the sponsor. For example, an advertisement may require the payment of a certain minimum before being included in a given event gallery. Longer or earlier placements (with the event gallery) may command higher minimums. Sponsored content may be displayed on a flat fee or cost per view basis. In addition, video or augmented advertisements (with text, graphics, GIF-s, animation, etc.) may similarly command premiums. Other factors considered in the weight of a message may include similarity in theme between the advertisement and the event. For example, to advertisements may receive greater weight at a children's concert than would alcohol ads. Thus, in some embodiments, unsponsored messages may have no weight and may simply be organized on a temporal or other basis.

As discussed above, the favorable presentation may be in the form of a message placed early in a sequence of messages. Alternately, the favorable presentation may be in the form of a message of a relatively long duration in a sequence of ephenieral messages. In yet other embodiments, there may be circumstances when a message is not presented (e.g., failure to meet minimum bid, excess ad inventory, etc).

A received message may also be assigned priority based upon endorsed content. For example, a user may endorse a particular brand or product. In such a case, an event gallery controlled by that user may favorably present a message with the brand or product within the event gallery. Weighting and presentation techniques discussed in connection with sponsored content may also be used for endorsed content.

Priority may be assigned based upon any number of evaluations of content. For example, the content of a message may be evaluated for indicia of sponsored content. The indicia may be in form of an observed brand or product in the content. The evaluation may be performed by optical character recognition, machine vision and similar techniques.

Another approach to evaluating the content is to evaluate the sender of the message. For example, if the sender of the message is a sponsor or an endorser, then a priority parameter is assigned in accordance with a favorable weight ascribed to the sponsoring sender or the endorsing sender. Other factors that may be considered in determining the priority parameter may include senders that are celebrities, well-known individuals, or “influencers” (e.g., individuals with admired within a community).

The final processing operation of FIG. 9 is to supply the event gallery in response to a request 908. For example, a client device 102 may access server 104. The event gallery module 144 may include executable code to maintain the event gallery. The event gallery may be served from the server 104 to any number of users associated with client devices 102.

Referring back to FIG. 1, in some embodiments, memory 140 of server 104 may be configured to include an advertisement module 148 and a priority module 150. Advertisement module 148 includes instructions executable by CPU 130 to receive messages or advertisements from advertisers, and otherwise administer and implement the advertisement or sponsored messages features of certain embodiments. In some embodiments, advertisers access (or send) messages to advertisement module 148 through a channel distinct from other channels utilized by non-advertiser users. For example, advertisers may access advertisement module 148 through a webpage via a web browser or through a mobile application feature accessible for advertisement submission purposes.

Priority module 150 includes instructions executable by CPU 130 to receive weights and weighting information submitted by users (i.e., advertisers) and to determine priorities of messages. In some embodiments, priority module 150 may also be configured to insert advertisements into the ‘stream’ of other messages within an event gallery. In addition to these operations, priority module 150 may also be configured in a manner to receive bid amounts from advertisers associated with advertisement message submissions. Thus, in these embodiments, priority module 150 may compare bid amounts (as well as other priority information, if any) to determine the priority according to which an advertisement message may be displayed within an event gallery.

The advertising module 148 may include a scanning module to scan the content of messages for a specific brand. For example, in the case of a text based message (e.g., a word or text mark in the message), the scan may be in the form of a word recognition or matching process. Any recognized words, phrases or text may be compared against trademark databases for matches. In the case of a photograph or video, an optical character recognition module may be used to identify logos, symbols, or patterns associated with a brand (e.g., the Nike® Swoosh, etc.).

Upon recognition of a brand, a message may be sent by communication module 142 to a brand owner offering the brand owner an opportunity to prioritize the message in the event gallery. Thus, a brand owner may be afforded an opportunity to pay to have a message displaying their brand inserted into an event gallery and/or for favorable placement in event gallery.

In this regard, a copy of the image may be transmitted to the brand owner allowing the owner an opportunity to review a message before deciding to prioritize the message. In other embodiments, a brand owner may be given an opportunity to edit the message. For instance, a brand owner may choose to add graphics, animations, etc. The brand owner may also be afforded an opportunity to remove references to competing brands.

Alternately, an online dashboard of messages may be made available to a brand owner. The dashboard may contain each or several of the instances of the appearance of the brand owner's marks or logos. The owner is able to compare, side-by-side, each message before deciding which messages to prioritize.

In some embodiments, multiple brand messages may be inserted into a single event gallery. In these examples, the various brand owners may be allowed to bid for favorable placement of their messages within the event gallery. Specifically, a highest bidder's message may be placed near the beginning of the event gallery. Conversely, lower bidders may have their messages inserted only if there is sufficient message inventory. Alternately, the duration of an ephemeral message may be based upon bid criteria.

The entire event may be sponsored by the brand owner. In this case, a ‘welcome’ or ‘sponsored by’ message may be presented at the beginning of the event gallery, followed by several other messages containing a particular brand or message throughout the gallery. Alternately, a third-party may sponsor the event and allow many brand owners to bid for favorable placement of messages.

The event gallery may have a title that indicates sponsored or endorsed content. The event gallery may be constructed from messages from a single user. In such a case, the event gallery is available to friends of the single user.

The event gallery may be constructed from messages from a pre-selected group of users (such as a group of friends). The event gallery is available to the pre-selected group of users. The event gallery may be constructed by a sponsor with the event gallery available to all individuals in a social network. In this context; a social network is a computer implemented application that facilitates computer network communications between individuals, where the computer network communications may be posts, comments, messages, images and the like.

The event gallery may be constructed from messages from users within a geo-location fence associated with an event. Alternately, the event gallery may be available to individuals following an event.

An embodiment of the present invention relates to a computer storage product with a non-transitory computer readable storage medium having computer code thereon for performing various computer-implemented operations. The media and computer code may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well known and available to those having skill in the computer software arts. Examples of computer-readable media include, but are not limited to: magnetic media, optical media, magneto-optical media and hardware devices that are specially configured to store and execute program code, such as application-specific integrated circuits (“ASICs”), programmable logic devices (“PLDs”) and ROM and RAM devices. Examples of computer code include machine code, such as produced by a compiler, and files containing higher-level code that are executed by a computer using an interpreter. For example, an embodiment of the invention may be implemented using JAVA®, C++, or other object-oriented programming language and development tools. Another embodiment of the invention may be implemented in hardwired circuitry in place of, or in combination with, machine-executable software instructions.

The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the invention. However, it will be apparent to one skilled in the art that specific details are not required in order to practice the invention. Thus, the foregoing descriptions of specific embodiments of the invention are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed; obviously, many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, they thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the following claims and their equivalents define the scope of the invention. 

The invention claimed is:
 1. A method of processing messages, the method comprising: receiving, at a server computer, priority information from at least one sponsor, the priority information to be used in determining a priority of one or more messages received from a plurality user devices; creating, by the server computer, a message collection using a plurality of messages received from the plurality of user devices; determining, by the server computer, based on the priority information received from the at least one sponsor, whether a first message in the message collection meets a minimum consideration to be prioritized in the message collection; prioritizing, by the server computer, the first message in the message collection when the first message meets the minimum consideration to be prioritized in the message collection and according to the received priority information; and not prioritizing, by the server computer, the first message in the message collection when the first message does not meet the minimum consideration to be prioritized in the message collection.
 2. The method of claim 1, wherein the priority information is a function of the amount of consideration supplied by the sponsor.
 3. The method of claim 1, further comprising: receiving priority information from a second sponsor; determining, based on the priority information received from the second sponsor, that the second sponsor fails to meet a minimum consideration for a second message to be prioritized in the message collection; and not prioritizing the second message in the message collection.
 4. The method of claim 1, wherein priority information is received from a first sponsor and priority information is received from a second sponsor and a message associated with the first sponsor is prioritized over a message associated with the second sponsor in the message collection based on the amount of consideration associated with the priority information from the first sponsor and the amount of consideration associated with the priority information receive from the second sponsor.
 5. The method of claim 1, wherein priority information is received from a first sponsor and priority information is received from a second sponsor and wherein the method further comprises: determining that there is not sufficient message inventory to include both a message associated with the first sponsor and a message associated with the second sponsor in the message collection; and prioritizing the message associated with the first sponsor in the message collection and not including the message associated with the second sponsor in the message collection, based on an amount of consideration associated with the priority information from the first sponsor and amount of consideration associated with the priority information receive from the second sponsor.
 6. The method of claim 1, wherein the first message is an ephemeral message and wherein the duration of the ephemeral message is based on the received priority information.
 7. The method of claim 1, wherein the sponsor is an owner of a brand.
 8. The method of claim 1, wherein prioritization of the first message in the message collection according to the received priority information includes placing the first message in a favorable presentation in the form of an early placement in a sequence of the messages in the message collection, or in the form of a message of a relatively long duration in a sequence of ephemeral messages.
 9. The method of claim 1, wherein the priority information includes a favorable weight ascribed to a message based on a bid amount received from an advertiser.
 10. The method of claim 1, further comprising: receiving bid amounts for brand messages or advertisements; and prioritizing the brand messages or advertisements in the message collection based on the bid amounts received.
 11. A server computer to process messages, the server computer comprising: a processor; and a memory storing instructions that, when executed by the processor, cause the server computer to perform operations comprising: receiving priority information from at least one sponsor, the priority information to be used in determining a priority of one or more messages received from a plurality user devices; creating a message collection using a plurality of messages received from the plurality of user devices; determining, based on the priority information received from the at least one sponsor, whether a first message in the message collection meets a minimum consideration to be prioritized in the message collection; prioritizing the first message in the message collection when the first message meets the minimum consideration to be prioritized in the message collection and according to the received priority information; and not prioritizing the first message in the message collection when the first message does not meet the minimum consideration to be prioritized in the message collection.
 12. The server computer of claim 10, wherein the priority information is a function of the amount of consideration supplied by the sponsor.
 13. The server computer of claim 10, the operations further comprising: receiving priority information from a second sponsor; determining, based on the priority information received from the second sponsor, that the second sponsor fails to meet a minimum consideration for a second message to be prioritized in the message collection; and not prioritizing the second message in the message collection.
 14. The server computer of claim 10, wherein priority information is received from a first sponsor and priority information is received from a second sponsor and a message associated with the first sponsor is prioritized over a message associated with the second sponsor in the message collection based on the amount of consideration associated with the priority information from the first sponsor and the amount of consideration associated with the priority information receive from the second sponsor.
 15. The server computer of claim 10, wherein priority information is received from a first sponsor and priority information is received from a second sponsor and wherein the operations further comprise: determining that there is not sufficient message inventory to include both a message associated with the first sponsor and a message associated with the second sponsor in the message collection; and prioritizing the message associated with the first sponsor in the message collection and not including the message associated with the second sponsor in the message collection, based on an amount of consideration associated with the priority information from the first sponsor and amount of consideration associated with the priority information receive from the second sponsor.
 16. The server computer of claim 10, wherein the first message is an ephemeral message and wherein the duration of the ephemeral message is based on the received priority information.
 17. The server computer of claim 10, wherein prioritization of the first message in the message collection according to the received priority information includes placing the first message in a favorable presentation in the form of an early placement in a sequence of the messages in the message collection, or in the form of a message of a relatively long duration in a sequence of ephemeral messages.
 18. The server computer of claim 10, wherein the priority information includes a favorable weight ascribed to a message based on a bid amount received from an advertiser.
 19. The server computer of claim 10, the operations further comprising: receiving bid amounts for brand messages or advertisements; and prioritizing the brand messages or advertisements in the message collection based on the bid amounts received.
 20. A non-transitory computer readable storage medium comprising instructions that are executable by at least one processor to cause a computing device to perform operations comprising: receiving priority information from at least one sponsor, the priority information to be used in determining a priority of one or more messages received from a plurality user devices; creating a message collection using a plurality of messages received from the plurality of user devices; determining, based on the priority information received from the at least one sponsor, whether a first message in the message collection meets a minimum consideration to be prioritized in the message collection: prioritizing the first message in the message collection when the first message meets the minimum consideration to be prioritized in the message collection and according to the received priority information; and not prioritizing the first message in the message collection when the first message does not meet the minimum consideration to be prioritized in the message collection. 